package com.example.easyexcel.util;

import com.alibaba.fastjson.JSONObject;
import com.example.easyexcel.entity.BaseInfo;
import com.example.easyexcel.entity.PersonBaseInfo;
import com.example.easyexcel.entity.UserBaseInfo;

/**
 * 泛型工具类
 *
 * @author tu228
 */
public class GenericsUtil {

    /**
     * 将json串转换为指定类型的对象
     *
     * @param val json字符串
     * @param clazz 指定类型
     * @param <T> 指定类型对象
     * @return
     */
    public static <T> T getObject(String val,Class<T> clazz){
        return JSONObject.parseObject(val,clazz);
    }

    /**
     * 处理基础信息
     *
     * @param userBaseInfo 用户基础信息
     * @param personBaseInfo 个人基础信息
     * @param <T> 泛型
     */
    public <T extends BaseInfo> void handleBaseInfo(UserBaseInfo userBaseInfo,T personBaseInfo){
        userBaseInfo.setName(personBaseInfo.getName());
        userBaseInfo.setSex(personBaseInfo.getSex());
        userBaseInfo.setAge(personBaseInfo.getAge());
        userBaseInfo.setIdentityNo(personBaseInfo.getIdentityNo());
    }

}
